package com.itheima.tliasmanagementspringboot.config;

import com.itheima.tliasmanagementspringboot.interceptor.LoginCheckInterceptor;
import com.itheima.tliasmanagementspringboot.interceptor.LoginCheckInterceptorBackup;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * Wb工程配置类(能干的事情很多:如:拦截器, 释放静态资源html, 切换消息转换器)
 */
/*@Configuration*/
public class WebConfigBackup implements WebMvcConfigurer {
    //这个类是注册拦截器的
    //1.首先要将自定义的拦截器注入进来
    @Autowired
    LoginCheckInterceptorBackup loginCheckInterceptorBackup;

    //2.重写实现的接口的添加拦截器的方法
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(loginCheckInterceptorBackup)//将自定义的拦截器添加进来即可
                .addPathPatterns("/**")//添加拦截路径,一般除登录或者特殊展示页面不拦截外其余全部拦截
                .excludePathPatterns("/login");//不拦截(排除)登录等必须开放的路径
        WebMvcConfigurer.super.addInterceptors(registry);
    }

    /*
| 拦截路径  | 含义                | 举例
| --------- | ----------------- | ---------------------------------------
| /*        | 一级路径           | 能匹配/depts，/emps，/login，不能匹配 /depts/1
| /**       | 任意级路径          | 能匹配/depts，/depts/1，/depts/1/2
| /depts/*  | /depts下的一级路径  | 能匹配/depts/1，不能匹配/depts/1/2，/depts
| /depts/** | /depts下的任意级路径| 能匹配/depts，/depts/1，/depts/1/2，不能匹配/emps/1
        */

}
